package cl.duocap.refaxion.servicios;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

import cl.duocap.refaxion.dao.VehiculoDAO;
import cl.duocap.refaxion.dto.MarcaDTO;
import cl.duocap.refaxion.dto.ModeloDTO;
import cl.duocap.refaxion.dto.UsuarioDTO;

import cl.duocap.refaxion.dto.VehiculoDTO;
import cl.duocap.refaxion.util.Conexion;

public class VehiculoService {
	
	private VehiculoDAO vehiculoDAO;
	Connection c = null;
	
	public VehiculoService() {
		try {
			try{
				c = Conexion.connect();

				vehiculoDAO= new VehiculoDAO(); 
				vehiculoDAO.setConexion(c);

			}catch(SQLException sql){
				sql.printStackTrace();
			}finally{
				
			}	
		}catch(Exception ex){
			ex.printStackTrace();
		}

	}
	
	public List<VehiculoDTO> obtenerTodosVehiculos() {
		return vehiculoDAO.obtenerTodosVehiculos();
	}
	
	public List<MarcaDTO> listarMarcasVehiculos() {
		return vehiculoDAO.listarMarcasVehiculo();
	}
	
	public List<ModeloDTO> listarModelosMarcaSeleccionada(int idModelo){		
		return vehiculoDAO.listarModelosMarcaSeleccionada(idModelo);
	}
	
	public boolean registrarVehiculoNuevo(VehiculoDTO vehiculoNuevo, UsuarioDTO clienteSeleccionadoVehiculo){
		return vehiculoDAO.registrarVehiculoNuevo(vehiculoNuevo,clienteSeleccionadoVehiculo);
	}
	
	public boolean eliminarVehiculo(int idVehiculo){
		return vehiculoDAO.eliminarVehiculo(idVehiculo);
	}
	
	public VehiculoDTO cargarVehiculoEditar(int idVehiculo){
		return vehiculoDAO.traerVehiculoEditar(idVehiculo);
	}
	
	public MarcaDTO buscarMarcaVehiculo(int idModelo){
		return vehiculoDAO.buscarMarcaVehiculo(idModelo);
	}
	
	public boolean editarVehiculo(VehiculoDTO vehiculoEditar){
		return vehiculoDAO.editarVehiculo(vehiculoEditar);
	}
	
	public List<VehiculoDTO> vehiculosAsociadosPorCliente(int idUsuario){
		return vehiculoDAO.vehiculosAsociadosPorCliente(idUsuario);
	}
	
	public VehiculoDTO buscarVehiculoPorId(int idVehiculo) {
		return vehiculoDAO.buscarVehiculoPorId(idVehiculo);
	}
	 

}
